package com.party.core.model.member;

import java.io.Serializable;
import java.util.Date;

/**
 * @program: party
 * @description: 合作商详细信息
 * @author: Hua Qunhao
 * @create: 2019-02-25 17:43
 **/
public class PartnerInfoDetails extends MemberWithPartner implements Serializable {



    //签约人
    private String contractor;
    //签约时间
    private Date  signingTime;
    //合同编号
    private String contractNo;
    //合同开始时间
    private Date contractStartTime;
    //合同结束时间
    private Date contractEndTime;
    //客户电话
    private String customerPhone;
    // 到期时间
    private Date expirationTime;

    private Integer openStatus;


    public String getContractor() {
        return contractor;
    }

    public void setContractor(String contractor) {
        this.contractor = contractor;
    }

    public Date getSigningTime() {
        return signingTime;
    }

    public void setSigningTime(Date signingTime) {
        this.signingTime = signingTime;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public Date getContractStartTime() {
        return contractStartTime;
    }

    public void setContractStartTime(Date contractStartTime) {
        this.contractStartTime = contractStartTime;
    }

    public Date getContractEndTime() {
        return contractEndTime;
    }

    public void setContractEndTime(Date contractEndTime) {
        this.contractEndTime = contractEndTime;
    }

    public String getCustomerPhone() {
        return customerPhone;
    }

    public void setCustomerPhone(String customerPhone) {
        this.customerPhone = customerPhone;
    }

    @Override
    public Date getExpirationTime() {
        return expirationTime;
    }

    @Override
    public void setExpirationTime(Date expirationTime) {
        this.expirationTime = expirationTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof PartnerInfoDetails)) return false;
        if (!super.equals(o)) return false;

        PartnerInfoDetails that = (PartnerInfoDetails) o;

        if (!contractor.equals(that.contractor)) return false;
        if (!signingTime.equals(that.signingTime)) return false;
        if (!contractNo.equals(that.contractNo)) return false;
        if (!contractStartTime.equals(that.contractStartTime)) return false;
        if (!contractEndTime.equals(that.contractEndTime)) return false;
        return customerPhone.equals(that.customerPhone);
    }

    @Override
    public int hashCode() {
        int result = super.hashCode();
        result = 31 * result + contractor.hashCode();
        result = 31 * result + signingTime.hashCode();
        result = 31 * result + contractNo.hashCode();
        result = 31 * result + contractStartTime.hashCode();
        result = 31 * result + contractEndTime.hashCode();
        result = 31 * result + customerPhone.hashCode();
        return result;
    }

    @Override
    public String toString() {
        return "PartnerInfoOutput{" +
                "contractor='" + contractor + '\'' +
                ", signingTime=" + signingTime +
                ", contractNo='" + contractNo + '\'' +
                ", contractStartTime=" + contractStartTime +
                ", contractEndTime=" + contractEndTime +
                ", customerPhone='" + customerPhone + '\'' +
                '}';
    }
}
